package org.jeecg.modules.scm.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.EnableDict;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: scm_fina_apply
 * @Author: jeecg-boot
 * @Date:   2021-11-10
 * @Version: V1.0
 */
@Data
@TableName("scm_fina_apply")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="scm_fina_apply对象", description="scm_fina_apply")
public class
ScmFinaApply implements Serializable, EnableDict {
    private static final long serialVersionUID = 1L;

	/**申请号*/
	@Excel(name = "申请号", width = 15)
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "申请号")
    private Integer applyNo;
	/**融资申请人客户号*/
	@Excel(name = "融资申请人客户号", width = 15)
    @ApiModelProperty(value = "融资申请人客户号")
    @Dict(dictTable = "scm_cus_info", dicText = "cus_name", dicCode = "cus_no")
    private Integer cusNo;
	/**融资项目ID*/
	@Excel(name = "融资项目ID", width = 15)
    @ApiModelProperty(value = "融资项目ID")
    @Dict(dictTable = "scm_item", dicText = "item_name", dicCode = "item_id")
    private Integer itemId;
	/**融资币种*/
	@Excel(name = "融资币种", width = 15)
    @ApiModelProperty(value = "融资币种")
    @Dict(dicCode = "fina_currency")
    private Integer finaCurrency;
	/**融资申请日*/
	@Excel(name = "融资申请日", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "融资申请日")
    private Date applyDate;
	/**融资到期日*/
	@Excel(name = "融资到期日", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "融资到期日")
    private Date applyDdl;
	/**融资基准利率*/
	@Excel(name = "融资基准利率", width = 15)
    @ApiModelProperty(value = "融资基准利率")
    private Double finaRate;
	/**浮动点数*/
	@Excel(name = "浮动点数", width = 15)
    @ApiModelProperty(value = "浮动点数")
    private Double floatPoint;
	/**执行利率*/
	@Excel(name = "执行利率", width = 15)
    @ApiModelProperty(value = "执行利率")
    private Double executionRates;
	/**折扣率*/
	@Excel(name = "折扣率", width = 15)
    @ApiModelProperty(value = "折扣率")
    private Double discount;
	/**逾期浮动率*/
	@Excel(name = "逾期浮动率", width = 15)
    @ApiModelProperty(value = "逾期浮动率")
    private Double overdueFloatRate;
	/**罚息率*/
	@Excel(name = "罚息率", width = 15)
    @ApiModelProperty(value = "罚息率")
    private Double penaltyInterestRate;
	/**利息支付方*/
	@Excel(name = "利息支付方", width = 15)
    @ApiModelProperty(value = "利息支付方")
    private String payer;
	/**结息方式*/
	@Excel(name = "结息方式", width = 15)
    @ApiModelProperty(value = "结息方式")
    @Dict(dicCode = "pay_way")
    private Integer payWay;
	/**资金用途*/
	@Excel(name = "资金用途", width = 15)
    @ApiModelProperty(value = "资金用途")
    private String useOfFunds;
	/**结息日*/
	@Excel(name = "结息日", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "结息日")
    private Date interestSettlement;
	/**保理服务费费率*/
	@Excel(name = "保理服务费费率", width = 15)
    @ApiModelProperty(value = "保理服务费费率")
    private Double serviceFeeRate;
	/**融资质押率*/
	@Excel(name = "融资质押率", width = 15)
    @ApiModelProperty(value = "融资质押率")
    private Integer pledgeRate;
	/**还款账户名称,核心企业*/
	@Excel(name = "还款账户名称,核心企业", width = 15)
    @ApiModelProperty(value = "还款账户名称,核心企业")
    private String repaymentName;
	/**还款账号,核心企业*/
	@Excel(name = "还款账号,核心企业", width = 15)
    @ApiModelProperty(value = "还款账号,核心企业")
    private String repaymentAccount;
    /**还款账号开户行,核心企业*/
    @Excel(name = "还款账号开户行,核心企业", width = 15)
    @ApiModelProperty(value = "还款账号开户行,核心企业")
    private String repaymentBank;
	/**收款账号,银行*/
	@Excel(name = "收款账号,银行", width = 15)
    @ApiModelProperty(value = "收款账号,银行")
    private String paymentAccount;
	/**担保方式*/
	@Excel(name = "担保方式", width = 15)
    @ApiModelProperty(value = "担保方式")
    private Integer assureMeans;
	/**资金方ID*/
	@Excel(name = "资金方ID", width = 15)
    @ApiModelProperty(value = "资金方ID")
    @Dict(dictTable = "scm_investor", dicText = "full_name", dicCode = "investor_id")
    private Integer investorId;
	/**基础贸易合同资料*/
	@Excel(name = "基础贸易合同资料", width = 15)
    @ApiModelProperty(value = "基础贸易合同资料")
    private String tradeContract;
	/**摘要*/
	@Excel(name = "摘要", width = 15)
    @ApiModelProperty(value = "摘要")
    private String applyAbstract;
	/**附件,支持多个*/
	@Excel(name = "附件,支持多个", width = 15)
    @ApiModelProperty(value = "附件,支持多个")
    private String attachment;
	/**融资申请状态*/
	@Excel(name = "融资申请状态", width = 15)
    @ApiModelProperty(value = "融资申请状态")
    @Dict(dicCode = "fina_status")
    private Integer applyState;
	/**建立日期*/
	@Excel(name = "建立日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "建立日期")
    private Date createTime;
	/**建立用户*/
	@Excel(name = "建立用户", width = 15)
    @ApiModelProperty(value = "建立用户")
    private String createBy;
	/**最后修改日期*/
	@Excel(name = "最后修改日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "最后修改日期")
    private Date updateTime;
	/**最后修改用户*/
	@Excel(name = "最后修改用户", width = 15)
    @ApiModelProperty(value = "最后修改用户")
    private String updateBy;
    /**融资金额*/
    @Excel(name = "融资金额", width = 15)
    @ApiModelProperty(value = "融资金额")
    private BigDecimal finaAmount;
	/**备注*/
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String note;

    /**CFCA*/
    @Excel(name = "CFCA", width = 15)
    @ApiModelProperty(value = "CFCA")
    private String cfca;

    /**核心企业号*/
    @Excel(name = "核心企业号", width = 15)
    @ApiModelProperty(value = "核心企业号")
    @Dict(dictTable = "scm_cus_info", dicText = "cus_name", dicCode = "cus_no")
    private Integer coreCusNo;

    /**申请人收款账户名称*/
    @Excel(name = "申请人收款账户名称", width = 15)
    @ApiModelProperty(value = "申请人收款账户名称")
    private String payeeAccountName;

    /**申请人收款账户开户行*/
    @Excel(name = "申请人收款账户开户行", width = 15)
    @ApiModelProperty(value = "申请人收款账户开户行")
    private String payeeAccountBank;

    /**申请人收款账户*/
    @Excel(name = "申请人收款账户名称", width = 15)
    @ApiModelProperty(value = "申请人收款账户")
    private String payeeAccount;


}
